package com.aos.erp.schools.model.student.ro.student;

import com.aos.erp.schools.enums.student.*;
import com.aos.erp.schools.model.student.ro.userId.UserRo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Auther: chb
 * @Date: 2018/11/6 15:10
 * @Description:  学员修改
 */
@Data
public class UpdateStudentRo extends UserRo implements Serializable {

    private Long id;

    /**
     * 证件类型
     */
    private int sfType;
    /**
     * 姓名
     */
    private String name;

    /**
     * 出生日期
     */
    private String birthday;

    /**
     * 证件号码
     */
    private String certificatesNumber;

    /**
     * 国籍
     */
    private String country;

    /**
     * 身份证有效期 开始时间
     */
    private String effectedDate;

    /**
     * 身份证有效期 结束时间
     */
    private String expiredDate;

    /**
     * 性别   男:1;女:2;  未知：3
     */
    private String sex;

    /**
     * 学习类别（初次申领：0，增驾：1）
     */
    private DrivingType studyType = DrivingType.first;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 准驾车型(申请车型ID)(来自字典表)
     */
    private Long carId;

    /**
     * 暂住证编号
     */
    private String stayAddreeNumber;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 所属辖区ID(来自t_region表)
     */
    private Long registeredAreaId;

    /**
     * 住所详细地址
     */
    private String addressDetailed;

    /**
     * 报名来源
     */
    private String registeredSource;

    /**
     * 登记住所行政区划ID(来自t_region表)
     */
    private Long registeredRegionId;

    /**
     * 登记住所详细地址
     */
    private String registeredResidence;

    /**
     * 学员来源(1：本地   2：外地）
     */
    private Residence studentSource = Residence.local;

    /**
     * 学费
     */
    private BigDecimal registeredTuition;

    /**
     * 学员编号UUID
     */
    private String studentNumber;


    private Date registeredTime;


    private Long driversId;

    private String referralCode;


    private String reason;


    private String driverDriver;


    private String visaInterview;


    private String fingerprint;


    private String idPhoto;


    private String originalDriverLicense;

    private Date created;

    private Date updated;

    private Long operatorId;


    private Integer transferStatus;

    private TnterviewStatus interviewStatus = TnterviewStatus.normal;

    private StudentStatus status = StudentStatus.newenroll;


    private IntegerStatus netStatus = IntegerStatus.onsubmit;

    private InnerStatus innerStatus = InnerStatus.normal;


    private BindingWechat isBindingWechat = BindingWechat.no;

    private String wechatOpenid;

    @ApiModelProperty(value = "提交给谁", required = false, dataType = "Integer")
    private Integer myState;

    @ApiModelProperty(value = "驾校类型", required = false, dataType = "Integer")
    private Integer driversSchoolType;

    private IsDel isDel = IsDel.normal;

    //////////照片/////////////
    @ApiModelProperty(value = "身份证头像", required = false, dataType = "String")
    private String sfz;

    @ApiModelProperty(value = "互联网面签协议", required = false, dataType = "String")
    private String mqb;

    @ApiModelProperty(value = "初学驾驶申请表", required = false, dataType = "String")
    private String cxjs;

    @ApiModelProperty(value = "增驾驾驶申请表", required = false, dataType = "String")
    private String zjjs;

    @ApiModelProperty(value = "指纹", required = false, dataType = "String")
    private String zw;

    @ApiModelProperty(value = "原驾驶证", required = false, dataType = "String")
    private String ljz;

    @ApiModelProperty(value = "制证照", required = false, dataType = "String")
    private String zzz;

    @ApiModelProperty(value = "培训记录", required = false, dataType = "String")
    private String pxjl;

    @ApiModelProperty(value = "学时证明", required = false, dataType = "String")
    private String xszm;

    @ApiModelProperty(value = "居住证照片", required = false, dataType = "String")
    private String zzpermit;

    @ApiModelProperty(value = "身份证正面", required = false, dataType = "String")
    private String idz;

    @ApiModelProperty(value = "身份证反面", required = false, dataType = "String")
    private String idf;

    @ApiModelProperty(value = "体检表", required = false, dataType = "String")
    private String healthForm;

    @ApiModelProperty(value = "现场照片", required = false, dataType = "String")
    private String scenePhotos;

    @ApiModelProperty(value = "提交表图片", required = false, dataType = "String")
    private String tjbtp;

    @ApiModelProperty(value = "身份证电子照片", required = false, dataType = "String")
    private String sfzdzz;

    @ApiModelProperty(value = "册表面签照", required = false, dataType = "String")
    private String zcbmqz;
    @ApiModelProperty(value = "所属辖区省", required = false, dataType = "Integer")
    private String provId_1;
    @ApiModelProperty(value = "所属辖区市", required = false, dataType = "Integer")
    private String cityId_1;
    @ApiModelProperty(value = "所属辖区 区", required = false, dataType = "Integer")
    private String areaId_1;
    @ApiModelProperty(value = "登记所 省", required = false, dataType = "Integer")
    private String provId_2;
    @ApiModelProperty(value = "登记所 市", required = false, dataType = "Integer")
    private String cityId_2;
    @ApiModelProperty(value = "所属辖区 区", required = false, dataType = "Integer")
    private String areaId_2;


    public String getStudyTypeName() {
        return studyType.getDesc();
    }

    public String getStudentSourceName() {
        return studentSource.getDesc();
    }

    public String getInterviewStatusName() {
        return interviewStatus.getDesc();
    }

    public String getStatusName() {
        return status.getDesc();
    }

    public String getNetStatusName() {
        return netStatus.getDesc();
    }

    public String getInnerStatusName() {
        return innerStatus.getDesc();
    }

    public String getIsBindingWechatName() {
        return isBindingWechat.getDesc();
    }

    public String getIsDelName() {
        return isDel.getDesc();
    }



}
